package com.ruoyi.info.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户完成任务控制对象 fh_info_usertask
 * 
 * @author ruoyi
 * @date 2024-11-25
 */
public class FhInfoUsertask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 任务id */
    @Excel(name = "任务id")
    private Long taskId;

    /** 任务名 */
    @Excel(name = "任务名")
    private String task;

    /** 任务细节 */
    @Excel(name = "任务细节")
    private String details;

    /** 积分 */
    @Excel(name = "积分")
    private Long point;

    /** 任务类型 */
    @Excel(name = "任务类型")
    private String taskType;

    /** 任务时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "任务时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date taskTime;

    /** 完成状态 */
    @Excel(name = "完成状态")
    private String completionStatus;

    /** 是否已领取积分（0=未领取，1=已领取） */
    @Excel(name = "是否已领取积分")
    private String rewardReceived;

    /** 图片 */
    @Excel(name = "图片")
    private String image;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date crateTime;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setTaskId(Long taskId) 
    {
        this.taskId = taskId;
    }

    public Long getTaskId() 
    {
        return taskId;
    }
    public void setTask(String task) 
    {
        this.task = task;
    }

    public String getTask() 
    {
        return task;
    }
    public void setDetails(String details) 
    {
        this.details = details;
    }

    public String getDetails() 
    {
        return details;
    }
    public void setPoint(Long point) 
    {
        this.point = point;
    }

    public Long getPoint() 
    {
        return point;
    }
    public void setTaskType(String taskType) 
    {
        this.taskType = taskType;
    }

    public String getTaskType() 
    {
        return taskType;
    }
    public void setTaskTime(Date taskTime) 
    {
        this.taskTime = taskTime;
    }

    public Date getTaskTime() 
    {
        return taskTime;
    }
    public void setCompletionStatus(String completionStatus) 
    {
        this.completionStatus = completionStatus;
    }

    public String getCompletionStatus() 
    {
        return completionStatus;
    }
    public void setRewardReceived(String rewardReceived) 
    {
        this.rewardReceived = rewardReceived;
    }

    public String getRewardReceived() 
    {
        return rewardReceived;
    }
    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setCrateTime(Date crateTime) 
    {
        this.crateTime = crateTime;
    }

    public Date getCrateTime() 
    {
        return crateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("taskId", getTaskId())
            .append("task", getTask())
            .append("details", getDetails())
            .append("point", getPoint())
            .append("taskType", getTaskType())
            .append("taskTime", getTaskTime())
            .append("completionStatus", getCompletionStatus())
            .append("rewardReceived", getRewardReceived())
            .append("image", getImage())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("crateTime", getCrateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
